package com.bocloud.cmp.entity.resource;

import com.bocloud.entity.annotations.Column;
import com.bocloud.entity.annotations.IgnoreAll;
import com.bocloud.entity.annotations.PK;
import com.bocloud.entity.annotations.Table;
import com.bocloud.entity.meta.PKStrategy;

/**
 * 路由
 * 
 * @author oywl
 *
 */
@Table("route")
public class Route {
	@PK(value = PKStrategy.AUTO)
	private Long id; // ID
	@Column("route_id")
	private String routeId;// 路由uuid
	@Column("name")
	private String name;// 路由名称
	@Column("status")
	private String status;// 路由的状态
	@Column("admin_stateup")
	private Boolean adminStateup;// 管理员状态
	@Column("network_id")
	private String networkId;// 网关端口ID
	@Column("enable_snat")
	private Boolean enableSnat;// snat 有snat true， 默认tr
	@Column("ha")
	private Boolean ha;// 高可用
	@Column("availability_zones")
	private String availabilityZones;// 可用域
	@Column("project_id")
	private String projectId;
	@Column("tenant_id")
	private String tenantId;
	@Column("vendor_id")
	private Long vendorId; // 云供应商ID
	@IgnoreAll
	private String vendorName;
	@IgnoreAll
	private String networkName;// 网络名称

	public Route() {

	}

	public Route(Long id, String routeId, String name, String status, Boolean adminStateup, String networkId,
			Boolean enableSnat, Boolean ha, String availabilityZones, String projectId, String tenantId, Long vendorId,
			String networkName) {
		super();
		this.id = id;
		this.routeId = routeId;
		this.name = name;
		this.status = status;
		this.adminStateup = adminStateup;
		this.networkId = networkId;
		this.enableSnat = enableSnat;
		this.ha = ha;
		this.availabilityZones = availabilityZones;
		this.projectId = projectId;
		this.tenantId = tenantId;
		this.vendorId = vendorId;
		this.networkName = networkName;
	}

	/**
	 * @return the vendorName
	 */
	public String getVendorName() {
		return vendorName;
	}

	/**
	 * @param vendorName
	 *            the vendorName to set
	 */
	public void setVendorName(String vendorName) {
		this.vendorName = vendorName;
	}

	public Boolean getAdminStateup() {
		return adminStateup;
	}

	public void setAdminStateup(Boolean adminStateup) {
		this.adminStateup = adminStateup;
	}

	/**
	 * @return the networkName
	 */
	public String getNetworkName() {
		return networkName;
	}

	/**
	 * @param networkName
	 *            the networkName to set
	 */
	public void setNetworkName(String networkName) {
		this.networkName = networkName;
	}

	/**
	 * @return the id
	 */
	public Long getId() {
		return id;
	}

	/**
	 * @param id
	 *            the id to set
	 */
	public void setId(Long id) {
		this.id = id;
	}

	/**
	 * @return the routeId
	 */
	public String getRouteId() {
		return routeId;
	}

	/**
	 * @param routeId
	 *            the routeId to set
	 */
	public void setRouteId(String routeId) {
		this.routeId = routeId;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 *            the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the status
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * @param status
	 *            the status to set
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * @return the networkId
	 */
	public String getNetworkId() {
		return networkId;
	}

	/**
	 * @param networkId
	 *            the networkId to set
	 */
	public void setNetworkId(String networkId) {
		this.networkId = networkId;
	}

	/**
	 * @return the enableSnat
	 */
	public Boolean getEnableSnat() {
		return enableSnat;
	}

	/**
	 * @param enableSnat
	 *            the enableSnat to set
	 */
	public void setEnableSnat(Boolean enableSnat) {
		this.enableSnat = enableSnat;
	}

	/**
	 * @return the ha
	 */
	public Boolean getHa() {
		return ha;
	}

	/**
	 * @param ha
	 *            the ha to set
	 */
	public void setHa(Boolean ha) {
		this.ha = ha;
	}

	/**
	 * @return the availabilityZones
	 */
	public String getAvailabilityZones() {
		return availabilityZones;
	}

	/**
	 * @param availabilityZones
	 *            the availabilityZones to set
	 */
	public void setAvailabilityZones(String availabilityZones) {
		this.availabilityZones = availabilityZones;
	}

	/**
	 * @return the projectId
	 */
	public String getProjectId() {
		return projectId;
	}

	/**
	 * @param projectId
	 *            the projectId to set
	 */
	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	/**
	 * @return the tenantId
	 */
	public String getTenantId() {
		return tenantId;
	}

	/**
	 * @param tenantId
	 *            the tenantId to set
	 */
	public void setTenantId(String tenantId) {
		this.tenantId = tenantId;
	}

	/**
	 * @return the vendorId
	 */
	public Long getVendorId() {
		return vendorId;
	}

	/**
	 * @param vendorId
	 *            the vendorId to set
	 */
	public void setVendorId(Long vendorId) {
		this.vendorId = vendorId;
	}

}
